package org.dromara.oce.domain;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.oce.utils.CommonConstants;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * 推广链接-广告主关联对象 oce_advertiser_referral_relation
 *
 * @author Lion Li
 * @date 2024-12-24
 */
@Data
@EqualsAndHashCode()
@TableName("oce_advertiser_referral_relation")
public class OceAdvertiserReferralRelation implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 广告主-推广链接关联id
     */
    @TableId(value = "advertiser_referral_id",type = IdType.AUTO)
    private Long advertiserReferralId;

    /**
     * 第三方广告主id
     */
    private String thirdAdvertiserId;

    /**
     * 第三方广告主名称
     */
    private String thirdAdvertiserName;

    /**
     * 巨量应用平台编码
     */
    private String thirdAdvertiserAppCode;

    /**
     * 推广链接id
     */
    private Long referralLinkId;

    /**
     * 推广链接类型：1-袋鼠；2-番茄；3-点众；4-番茄IAA；5-袋鼠IAA；6-端原生IAP；7-端原生IAA；
     */
    private Integer referralLinkType;

    /**
     * 应用类型：1-抖小；3-微小；
     */
    private Integer appType;

    /**
     * 拉取启用状态：0-停用；1-启用；
     */
    private Integer pullStatus;

    /**
     * 短剧名称
     */
    private String dramaTitle;

    /**
     * 投手名称
     */
    private String createName;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 创建人
     */
    @TableField(fill = FieldFill.INSERT)
    private String createBy;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    /**
     * 更新人
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateBy;

    /**
     * 拉取数据结束时间
     */
    @TableField(updateStrategy = FieldStrategy.ALWAYS)
    private LocalDateTime endTime;

    /**
     * 部门id
     */
    @TableField(fill = FieldFill.INSERT)
    private Long deptId;


    /**
     * 点众推广链接
     * @return
     */
    public boolean isDzReferralLinkType(){
        if(CommonConstants.REFERRAL_LINK_TYPE_DIANZHONG ==this.getReferralLinkType()){
            return true;
        }
        return false;
    }

    /**
     * 番茄推广链接
     * @return
     */
    public boolean isFqReferralLinkType(){
        if(CommonConstants.REFERRAL_LINK_TYPE_FANQIE ==this.getReferralLinkType()){
            return true;
        }
        return false;
    }

}
